1. Field of the Invention
The present invention relates to a print data processing apparatus, a cache processing method, and a related program.
2. Description of the Related Art
Recently, the demand for variable data printing (VDP) that can realize data printing according to an individual request from each client has expanded. The standard (i.e., VDP languages), such as personalized print markup language (PPML) and portable document format/variable and transactional (PDF/VT) is applied to digital variable data printing. According to the above-described VDP languages, images included in print data can be classified into a reusable object that can be used for a plurality of times and other objects. Thus, the VDP system is designed to cache image data of each reusable object appropriately so that the cached image data can be reused later. As one advantageous features of the VDP languages, a system can speedily perform print processing by caching and reusing data of each reusable object. For example, according to the PPML (one of the VDP languages) , objects can be classified into two groups, reusable objects and other objects, which may be referred to as variable objects.
In general, the cache data of each reusable object in the above-described variable data printing is stored in a built-in memory, such as a random access memory (RAM), of a print data processing apparatus. However, the memory capacity of the processing apparatus is limited. The amount of cache data may exceed the memory capacity. In such a case, the VDP system writes (saves) the cache data that is currently present in the memory to a secondary storage medium, e.g., a hard disk drive, provided in the processing apparatus. Further, when the cache data saved in the secondary storage medium is used, it may be required that the VDP system performs processing for loading the cache data from the secondary storage medium into the memory.
A general swap processing technique is employable to realize the above-described processing for writing and reading cache data to/from a secondary storage medium. However, the processing of the secondary storage medium takes a relatively longtime compared to the processing time of the built-in memory. Therefore, if the number of swap operations increases, the time required for print data processing increases.
Therefore, to improve the efficiency in variable print data processing, an appropriate method is required to reduce the number of operations to be performed to swap cache data to the secondary storage medium.
To solve the above-described issue, there is a conventional technique which is discussed in Japanese Patent Application Laid-Open No. 2010-88104. According to the technique, a processing order of each record of variable print data is determined so as to reduce the number of swap operations and load on the memory area. In this case, a record invariable data printing is a unit for assembling print data pieces. For example, in a printing operation performed on a client-by-client basis, print data pieces of each client constitutes one record.
However, according to the above-described conventional technique, although the number of swap operations can be reduced and the print processing can be accomplished speedily, the output order of printed records may change. It is not only the VDP, but the output order of print data should reflect a user's intent when a print data processing apparatus performs printing of print data. For example, in a case where the print processing is accompanied by post-processing, the inconvenience will arise in the post-processing if the print order of records is not maintained accurately. More specifically, assuming a case that the print data processing apparatus prints a product to be distributed to each employee with an employee number printed thereon by the VDP, and it is desired to output the printed products in order of employee number to facilitate the distribution. In such a case, the order of records cannot be changed if each record corresponds to a specific employee. Further, there is a case where the print data processing apparatus prints a large number of direct mails by the VDP, and an inspection machine in post-processing checks whether addresses and names have been correctly printed. In many cases, the order of right data to be input to the inspection machine is required to be identical to the output order of the printed products. In such a case, the print data processing apparatus is required to output the products without changing the order of records. Therefore, the above-described conventional technique cannot be used to accomplish the variable data printing speedily.
As a method capable of increasing the processing speed while maintaining the output order of printed products correctly, it may be useful to control the swap order of cache data of reusable objects. In this case, determination of a swap priority order for each cache data influences the number of swap operations to be performed in print data processing. Therefore, if the swap priority order determination method is inappropriate, the number of swap operations increases and the time required for the print data processing increases correspondingly.
To solve the above-described issue, it is important to provide an appropriate method for determining the priority order of each cache data, to identify cache data to be written into a secondary storage medium when a plurality of pieces of cache data is present in the memory, so that the processing speed can be increased.